<HTML>
<HEAD>
<TITLE>Code Change Viewer</TITLE>
<script type="text/javascript" src="/ccv/jquery/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="/ccv/jquery/ui/js/jquery-ui-1.8.6.custom.min.js"></script>
<script type='text/javascript' src='/ccv/jquery/plugins/jquery.cookie.js'></script>
<script type='text/javascript' src='/ccv/jquery/plugins/autocomplete/lib/jquery.bgiframe.min.js'></script>
<script type='text/javascript' src='/ccv/jquery/plugins/autocomplete/lib/jquery.ajaxQueue.js'></script>
<script type='text/javascript' src='/ccv/jquery/plugins/autocomplete/lib/thickbox-compressed.js'></script>
<script type='text/javascript' src='/ccv/jquery/plugins/autocomplete/jquery.autocomplete.pack.js'></script>
<script type='text/javascript' src='/ccv/js/ccv2.js'></script>
<script type='text/javascript' src='/ccv/js/ajaxupload.js'></script>
<script type="text/javascript" src="/ccv/wz_tooltip/wz_tooltip.js"></script>

<link rel="stylesheet" type="text/css" href="/ccv/jquery/ui/css/blitzer/jquery-ui-1.8.6.custom.css" />
<link rel="stylesheet" type="text/css" href="/ccv/jquery/plugins/autocomplete/jquery.autocomplete.css" />
<link rel="stylesheet" type="text/css" href="/ccv/jquery/plugins/autocomplete/lib/thickbox.css" />

<link rel="stylesheet" type="text/css" href="/ccv/css/ccv.css" />

<style type="text/css">

</style>
</HEAD>
<BODY>
<div class="ccv">	
<div class="header">
  <div class="left">
  	<a class="title" href="http://sourceforge.net/projects/cvschangeviewer" target="_blank">Code Change Viewer - CCV </a><sup class="ccvSupport">2.0 - cvs/svn supported</sup><br>
    <span class="ccvComment">Unify solution to stat.&browse cvs/svn change - LOC,FOC,log,diff,comment,revsions </span><a class="manual" href="manual.htm" target="blank">Manual</a>
  	
  </div>
  <div class="right">
    You can configure & upload your modules *.xml file, and upload it. <a href="/ccv/example.xml" class="cfgExample" target="_blank">Example</a>&nbsp;&nbsp;&nbsp;
    <a class="author" href="mailto: microli@sz.webex.com" title="microli@sz.webex.com">by: microli</a>
    <br>
    <span class="xmlName"></span><button class="btnBrowse">Browse...</button>
    <span class="writeProtectPwdInstruction">Write-protect Password:</span> <input class="upPasswd" size="8" value="" type="text">
    <button class="btnUpload" disabled>Upload</button>
  </div>
  <div class="msg"></div>
</div>


<div class="main">
  <div class="cfgModules">
    <div class="cfgs">
      <div class="left"><input class="allAnchor" type="checkbox"/></div>
      <div class="middle"><span class="itemLable">Modules in configure:</span> <select class="cfgFiles"></select> <a class="deleteCfg" href="#">Delete</a></div>
      <div class="right"><a class="reportOptions">Options</a></div>
      <div class="divOptions">
        <div class="closeAnchor">X</div>
        <div class="title">More options</div>
        <div class="options">
          <div class="opt4Common">
          	<div class="opt4CommonTitle">common options</div>
            <table cellspacing="1" cellpadding="4" width="100%">
              <tr>
              	<td class="optionHead">Filter</td>
              	<td class="optionContent">
		          	<table cellspacing="1" cellpadding="4" class="tbFilter" width="100%">
		          	  <tr>
		          	  	<td class="commOptLeft">file ext</td>
		          	  	<td class="commOptMid"><span class="inFilterLabel fileIncludeLabel">include: </span> <input class="filterIn fileInclude"/></td>
		          	  	<td class="commOptRight"><span class="exFilterLabel fileExcludeLabel">exclude: </span> <input class="filterIn fileExclude"/></td>
		          	  </tr>
		          	  <tr>
		          	  	<td class="commOptLeft">directory</td>
		          	  	<td class="commOptMid"><span class="inFilterLabel dirIncludeLabel">include: </span> <input class="filterIn dirInclude"/></td>
		          	  	<td class="commOptRight"><span class="exFilterLabel dirExcludeLabel">exclude: </span> <input class="filterIn dirExclude"/></td>
		          	  </tr>
		          	</table>              		
                </td>
              </tr>
              <tr><td class="optionAnchor"><input type="checkbox" class="OgenGraph"/></td><td class="optionDesc">Generate data graph & Stat. module file details(size, lines, distribute...)</td></tr>
            </table>          	
      	  </div>        	
          <div class="opt4cvs">
          	<div class="opt4cvsTitle">cvs module options</div>
            <table cellspacing="1" cellpadding="4">
              <tr><td class="optionAnchor"><input type="checkbox" class="OstatBin"/></td><td class="optionDesc">Also get binary files change status</td></tr>
              <tr><td class="optionAnchor"><input type="checkbox" class="OnotStatDeleted"/></td><td class="optionDesc">Do not STAT deleted files</td></tr>
              <tr><td class="optionAnchor"><input type="checkbox" class="OcalcAllRevs"/></td><td class="optionDesc">Calculate all revisions(only efficient on head)</td></tr>
              <tr><td class="optionAnchor"><input type="checkbox" class="OstatBinLines"/></td><td class="optionDesc">Stat. "line of change" of those marked as binary in cvs log(Check on this option if you module has many incorrect check-in -- text checked-in as binary)</td></tr>
            </table>
      	  </div>
          <div class="opt4svn">
        	<div class="opt4svnTitle">svn module options</div>
            <table cellspacing="1" cellpadding="4">
              <tr><td class="optionAnchor"><input type="checkbox" checked class="OSvnWithLoc"/></td><td class="optionDesc">Get LOC information(<span class="prompt4OSvnWithLoc">It will make ccv to execute many 'svn diff' commands; If <span class="emphasis">NOT</span> check-on it, will be very fast.</td></tr>
            </table>
      	  </div>      	
        </div>
      </div>      
    </div>
    <div class="modules">
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
        <div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>
                                               
    </div>
  </div>
  
  <div class="history">
  	<div class="historyTitle">History Reports</div>
  	<iframe class="iframeHistory" frameborder="0" src="/ccv-cgi/show.history.pl">no history item</iframe>
  </div>  
  
  <!-- user input/report mode -->
  <div class="userActions">
    <div class="modeSelector">
      <span class="spanReportModeTitle">Generate Report Base:</span>
      
      <div class="modeList">
        <input checked="checked" name="radioMode" class="radioMode" type="radio" value="log"> <span class="modeName fixwidth" style="width: 48px;">LOG</span>
        <input name="radioMode" class="radioMode" type="radio" value="diff"> <span class="modeName">DIFF</span>
      </div>
    </div>
    <div class="log">
      <div class="revs section">
        <input autocomplete="off" class="revs flat ac_input" id="branchs" type="text" value="Input branch name here"/>
	    <div class="example">
	      <div class="title">Example:</div>
	      <div class="content">
	        1. %Branch% (Branch1_B)<br>
	        2. MAIN or TRUNK  <i>(head/trunk branch)</i><br>
	        <!-- one STAT. (svn/cvs) can not share this part
	        <a href="#" class="moreRevsUsage">More...</a>
	        -->
	      </div>
	    </div>
      </div>

      <div class="dateRange section">
        <span class="dateRangeLabel label">Date range:</span><input class="dates flat" value="" type="text"/>
	    <div class="example">
	      <div class="title">Example:</div>
	      <div class="content">
            1. 4/1/2007<4/28/2007<br>
            2. >=4/10/2007
          </div>
	    </div>
      </div>
      
      <div class="wid section">
        <span class="byAccountLabel label">By account:</span><input autocomplete="off" class="wids flat ac_input" id="wids" value="" onclick="this.select();" type="text"/>
	    <div class="example">
	      <div class="title">Example:</div>
	      <div class="content">
            1. microl <i>(cvs account name)</i><br>
            2. user1,user2,user3,user4
          </div>
	    </div>
	  </div>        
    </div>
    <div class="diff">
      <!--
      <div class="instruction section">
        <div class="instruction1">
          Specify two <span class="emphasize">revisions</span>, or two <span class="emphasize">dates</span>. It will get changes between two specified.
        </div>
        <div class="instruction2">
          If <span class="emphasize">only one</span> revision/date is specified, will get code changes between spcified and head(main)/current date .
        </div>
      </div>
      -->
      <table class="dfRevsDates">
        <tr>
          <td colspan="2" style="vertical-align: bottom;"><input class="diffAgainst" name="diffAgainst" value="revisions" checked type="radio"> <b>Revisions</b></td>
          <td class="tdJust4SVN only4SvnPrompt">Only needed by SVN modules</td>
        </tr>
        <tr>
          <td class="tdLabel">r1:</td>
          <td class="tdInput"><input autocomplete="off" class="rev1 revision ac_input flat" type="text"/></td>
          <td class="tdJust4SVN"><select class="svnRevBase svnRev1Base"></select></td>
        </tr>
        <tr class="branchRevsBasedOnContainer">
          <td colspan=2" align="right"></td>
          <td class="tdJust4SVN"><input autocomplete="off" class="branchRevsBasedOn flat" type="text"/></select></td>
        </tr>
        <tr>
          <td class="tdLabel">r2:</td>
          <td class="tdInput"><input autocomplete="off" class="rev2 revision ac_input flat" type="text"/></td>
          <td class="tdJust4SVN"><select class="svnRevBase svnRev2Base"></select></td>
        </tr>                
        <tr height="40">
          <td colspan="2" style="vertical-align: bottom;"><input class="diffAgainst" name="diffAgainst" value="dates" type="radio"> <b>Dates</b></td>
          <td class="tdJust4SVN"></td>
        </tr>
        <tr>
          <td class="tdLabel">d1:</td>
          <td class="tdInput"><input disabled="disabled" readOnly class="date1 Wdate flat gray" type="text"/></td>
          <td class="tdJust4SVN"><select class="svnRevBase svnDate1Base"></select></td>
        </tr>
        <tr class="branchDatesBasedOnContainer">
          <td colspan="2" align="right"></td>
          <td class="tdJust4SVN"><input autocomplete="off" class="branchDatesBasedOn flat" type="text"/></td>
        </tr>
        <tr>
          <td class="tdLabel">d2:</td>
          <td class="tdInput"><input disabled="disabled" readOnly class="date2 Wdate flat gray" type="text"/></td>
          <td class="tdJust4SVN"><select class="svnRevBase svnDate2Base"></select></td>
        </tr>
        <tr>
          <td colspan="2" align="right">&nbsp;</td>
          <td class="tdJust4SVN only4SvnPrompt">Only needed by SVN modules</td>
        </tr>           
      </table>          
    </div>
    <div class="action"><button class="btnGenerate">Generate report</button></div>    
  </div>
</div>

<div class="dlgs">
  <div class="dlgDelete">
    <div>Pls input Write-protect Password which you set when you uploaded it.</div>
    <input type="text" class="deletePWD" size="30"/>
  </div>
  
  <div class="dlgProgress">
    <div class="progress"></div>
  </div>    
</div>
</div>
</BODY>
</HTML>

<script type="text/javascript">
ccv.tip = {
    title: "Click to download it, and it is easy to install!<br>\
1. tar -xvf ccv.tar.gz<br>\
2. cd ccv<br>\
3. perl INSTALL.pl --apache-conf=/path/of/httpd.conf --prefix=/install/ccv/under/path<br>\
4. modify /ccv_installed_path/config/config.xml to configure your modules<br>\
Environment requirement: linux/unix + apache + perl + cvs",

    revInstruction: "[revisions]  A comma-separated list of revisions to print:<br>\
rev1:rev2    Between rev1 and rev2, including rev1 and rev2<br>\
rev1::rev2   Between rev1 and rev2, excluding rev1<br>\
rev:         rev and following revisions on the same branch<br>\
rev::        After rev on the same branch<br>\
:rev         rev and previous revisions on the same branch<br>\
::rev        rev and previous revisions on the same branch<br>\
rev          Just rev.<br>\
branch       All revisions on the branch<br>\
branch.      The last revision on the branch",

    writeProtectPwdInstruction: "Write-protect Password to the *.xml you will upload, can not be empty!<br>\
<font color=#ff0000>Remember this password & do not forget it!</font><br>\
It will be required when you want to upload a config *.xml to replace existed same name *.xml."
 
};

ccv.ModuleItemHtml = '<div class="module"><div class="anchor"><input type="checkbox" class="chkAnchor"/></div><div class="moduleInfo"><span class="moduleId"></span> <span class="moduleType"></span><br><span class="moduleDetails"></span></div></div>';

jQuery(document).ready(function() {
	ccv.util.addClassInfo2Body();
    tt_Init();
    /**
     * ccv ui dom jquery init
     */    
{
    ccv.domJQ.CFG_MODULES           = jQuery("div.cfgModules");;
    ccv.domJQ.CFG_SELECT            = ccv.domJQ.CFG_MODULES.find("select");
    ccv.domJQ.MODULES_CONTAINER     = ccv.domJQ.CFG_MODULES.find("div.modules");
    ccv.domJQ.MODULES               = ccv.domJQ.MODULES_CONTAINER.find("div.module");
    
    ccv.domJQ.MAIN                  = jQuery("div.main");
    ccv.domJQ.USER_ACTIONS          = jQuery("div.userActions");
    ccv.domJQ.LOG                   = ccv.domJQ.USER_ACTIONS.find("div.log");
    ccv.domJQ.DIFF                  = ccv.domJQ.USER_ACTIONS.find("div.diff");
    
    ccv.domJQ.RADIO_MODE            = jQuery("div.userActions input.radioMode");
    ccv.domJQ.RADIO_DIFF_AGAINST    = ccv.domJQ.DIFF.find("input.diffAgainst");
    
    ccv.domJQ.REVS                  = ccv.domJQ.LOG.find("input.revs");
    ccv.domJQ.DATES                 = ccv.domJQ.LOG.find("input.dates");
    ccv.domJQ.WIDS                  = ccv.domJQ.LOG.find("input.wids");
    
    ccv.domJQ.REV1                  = ccv.domJQ.DIFF.find("input.rev1");
    ccv.domJQ.REV2                  = ccv.domJQ.DIFF.find("input.rev2");
    ccv.domJQ.DATE1                 = ccv.domJQ.DIFF.find("input.date1");
    ccv.domJQ.DATE2                 = ccv.domJQ.DIFF.find("input.date2");
    ccv.domJQ.SVN_REV_BASE			= ccv.domJQ.DIFF.find("select.svnRevBase");
    
    ccv.domJQ.BTN_GENERATE          = ccv.domJQ.USER_ACTIONS.find("button");
    ccv.domJQ.A_DELETE              = ccv.domJQ.CFG_MODULES.find("a.deleteCfg");
    ccv.domJQ.A_OPTIONS             = ccv.domJQ.CFG_MODULES.find("a.reportOptions");
    
    ccv.domJQ.ALL_ANCHOR            = ccv.domJQ.CFG_MODULES.find("input.allAnchor");
    ccv.domJQ.MODULE_ANCHORS        = ccv.domJQ.MODULES.find("input");
    ccv.domJQ.OPTIONS               = ccv.domJQ.CFG_MODULES.find('div.divOptions');
    
    ccv.domJQ.HEADER                = jQuery("div.header");
    ccv.domJQ.MSG                   = ccv.domJQ.HEADER.find("div.msg");
    ccv.domJQ.BTN_BROWSE            = ccv.domJQ.HEADER.find("button.btnBrowse");
    ccv.domJQ.XML_NAME              = ccv.domJQ.HEADER.find("span.xmlName");
    ccv.domJQ.UP_PASSWD             = ccv.domJQ.HEADER.find("input.upPasswd");
    ccv.domJQ.BTN_UPLOAD            = ccv.domJQ.HEADER.find("button.btnUpload");
    
    ccv.domJQ.DLGS                  = jQuery("div.dlgs");
    ccv.domJQ.DLG_PROGRESS          = ccv.domJQ.DLGS.find("div.dlgProgress");
    ccv.domJQ.PROGRESS              = ccv.domJQ.DLGS.find("div.progress");
    ccv.domJQ.DLG_DELETE            = ccv.domJQ.DLGS.find("div.dlgDelete");
    
    ccv.domJQ.HISTORY               = jQuery("iframe.iframeHistory");
}
    
    ccv.domJQ.BTN_UPLOAD.attr("disabled", true);
    /**
     * End: ccv ui dom jquery init
     */  
    
    ccv.ajaxupload.executor = new ccv.AjaxUpload(ccv.domJQ.BTN_BROWSE, ccv.ajaxupload.opts)
    ccv.dlgs.init();
    ccv.uifn.layoutCCV();
    ccv.uifn.htmlSvnRevBaseDoms();
    ccv.uifn.behaviorDiffDoms();
    ccv.uifn.behaviorSvnDateRevBaseDomsRestriction();
    ccv.ac.init();
	    
    //#Init
    ccv.domJQ.RADIO_MODE[0].checked = true;	
    
    ccv.domJQ.CFG_MODULES.find("div.modules div.module:odd").addClass("oddBK");
    ccv.domJQ.CFG_MODULES.find("div.modules div.module:even").addClass("evenBK");
    ccv.domJQ.MODULES.hide();
        
	ccv.domJQ.DATE1.datepicker({showButtonPanel: false, dateFormat: 'mm/dd/yy', changeMonth: true, changeYear: true, duration: 'fast'});
	ccv.domJQ.DATE2.datepicker({showButtonPanel: false, dateFormat: 'mm/dd/yy', changeMonth: true, changeYear: true, duration: 'fast'});
	//#End
	
	
	ccv.domJQ.A_OPTIONS.click(function() {
		var offset = jQuery(this).offset();
		var x = offset.left + this.offsetWidth - ccv.domJQ.OPTIONS.attr('offsetWidth') + 2;
		var y = offset.top + this.offsetHeight + 7;
		
		if (ccv.domJQ.OPTIONS.css('visibility') == 'hidden') {
			ccv.domJQ.OPTIONS.css({"top": y, "left": x, "visibility": "visible"});
		} else {
			ccv.domJQ.OPTIONS.css("visibility", "hidden");
		}
	});
	
	ccv.domJQ.OPTIONS.dblclick(function() {
		//ccv.domJQ.OPTIONS.css("visibility", "hidden");
	});
	
	ccv.domJQ.OPTIONS.find(".options .opt4cvs input:checkbox").attr("checked", false);

	ccv.domJQ.OPTIONS.find(".closeAnchor").click(function() {
		ccv.domJQ.OPTIONS.css("visibility", "hidden");
	});	
	
	ccv.domJQ.REVS.focus(function() {
		if (this.value == "Input branch name here") {
			this.value = "";
		}	
	}).blur(function() {
		if (this.value == "") {
			this.value = "Input branch name here";
		}	
	});
	

    ccv.domJQ.MODULES.mouseover(function() {
        jQuery(this).addClass("bkHover");    
    }).mouseout(function() {
        jQuery(this).removeClass("bkHover");    
    }).click(function() {
    	var i = ccv.domJQ.MODULES.index(this);
    	ccv.domJQ.MODULE_ANCHORS[i].checked = !ccv.domJQ.MODULE_ANCHORS[i].checked;
    	ccv.uifn.changeModulesBG(ccv.domJQ.MODULE_ANCHORS[i].checked, ccv.domJQ.MODULES.eq(i));
    });
    
    ccv.domJQ.MODULE_ANCHORS.click(function(e) {
        var i = ccv.domJQ.MODULE_ANCHORS.index(this);
        ccv.uifn.changeModulesBG(this.checked, ccv.domJQ.MODULES.eq(i));
        e.stopPropagation();
    });
    
    ccv.domJQ.ALL_ANCHOR.click(function() {
        ccv.domJQ.MODULE_ANCHORS.attr("checked", this.checked);
        ccv.uifn.changeModulesBG(this.checked, ccv.domJQ.MODULES);
    });    
    
    ccv.domJQ.OPTIONS.find("table td.optionDesc").click(function() {
    	var jqPrevTd = jQuery(this).prev();
    	var jqChkBox = jqPrevTd.find("input");
    	
    	jqChkBox.attr("checked", !jqChkBox[0].checked);
    	jqPrevTd.toggleClass("slted");
    });
    
    ccv.domJQ.OPTIONS.find("input:checkbox").click(function() {
    	var jqParentTd = jQuery(this).parent();
    	jqParentTd.toggleClass("slted");
    });          

	
	ccv.domJQ.BTN_GENERATE.mouseover(function() {
	    ccv.domJQ.BTN_GENERATE.css("background-color", "#cc0000");
	}).mouseout(function() {
	    ccv.domJQ.BTN_GENERATE.css("background-color", "#aa0000");
	}).click(function() {
	    ccv.fn.submitGenerate();
	});
	
	ccv.domJQ.RADIO_MODE.click(function() {
	    if (this.value == "log") {
	        ccv.domJQ.LOG.show();
	        ccv.domJQ.DIFF.hide();
	    } else {
	        ccv.domJQ.LOG.hide();
	        ccv.domJQ.DIFF.show();
	    }
    });
	
	ccv.domJQ.RADIO_DIFF_AGAINST.click(function() {
		ccv.uifn.behaviorDiffDoms();
	});
	
    jQuery(".header .title").mouseover(function() {
       ccv.uifn.tip(ccv.tip.title);
    });
    
    jQuery(".header .writeProtectPwdInstruction").mouseover(function() {
       ccv.uifn.tip(ccv.tip.writeProtectPwdInstruction);
    });
    
    jQuery(".main .moreRevsUsage").click(function() {
        ccv.uifn.tip("<pre>" + ccv.tip.revInstruction + "</pre>");  
    });
    
    ccv.domJQ.CFG_SELECT.change(function() {
        ccv.fn.wapi({cmd: "GET_MODULES", cfg: ccv.domJQ.CFG_SELECT.val()}, ccv.cb.successGetModules, ccv.cb.errorGetModules);
    });
    
    ccv.domJQ.A_DELETE.click(function() {
        ccv.domJQ.DLG_DELETE.dialog("open");
    });
    
    ccv.domJQ.BTN_UPLOAD.click(function() {
        var pw = jQuery.trim(ccv.domJQ.UP_PASSWD.val());
        ccv.domJQ.UP_PASSWD.val(pw)
        if (!pw) {
            ccv.uifn.showMsg("Write-protect password can not be empty");
            
            return false;
        }
        ccv.ajaxupload.executor._settings.data.cfgPwd = pw;
        ccv.ajaxupload.executor.submit();
    }); 
    
    jQuery(window).resize(function() {
        ccv.uifn.layoutCCV();
    });
    
    var jqModeName = jQuery(".ccv div.modeSelector .modeName").click(function() {
        ccv.domJQ.RADIO_MODE.eq(jqModeName.index(this)).click();
    });
    
    ccv.uifn.behaviorModuleItmes();
    
    var cookieCfg = jQuery.cookie(ccv.CK_CFG) || "";
    ccv.fn.wapi({cmd: "GET_OVERALL", cfg: cookieCfg}, ccv.cb.successGetOverall, ccv.cb.errorGetOverall);
});

</script>
